package com.itany.corejava.code06_数组;

import java.util.Arrays;

/**
 * @author MissChen
 * @version 1.0
 * @date 2023 年10月27日 15:24
 */
public class Test09_二维数组 {
    public static void main(String[] args) {

        // 二维数组:将数组中的每个元素又看成是一个新的数组


        //定义一个规则的二维数组
        // 方式一：数据类型[][] 变量名=new 数据类型[m][n]
        //定义一个int类型的二维数组，数组长度为3
        // 数组的每个元素又是一个int数组，长度为2
        // int[][] arrs=new int[3][2];
        // arrs[0][0]=1;
        // arrs[0][1]=2;
        // arrs[1][0]=4;
        // arrs[1][1]=3;
        // arrs[2][0]=9;
        // arrs[2][1]=2;
        //
        // for(int i=0;i<arrs.length;i++){
        //     System.out.println(Arrays.toString(arrs[i]));
        // }

        //定义一个不规则的二维数组：二维数组的元素数组的长度可以不一致
        // 数据类型[][] 变量名=new 数据类型[m][]
        // 此时数组长度为m，数组中的每个元素又是数组，只是数组元素的长度不固定
        // 注意:当为每个元素数组赋值时候，必须制定元素数组长度
        int[][] arrays=new int[3][];
        arrays[0]=new int[3];//数组元素在赋值时候必须指定长度
        arrays[0][0]=100;
        arrays[0][1]=200;
        arrays[0][2]=300;

        arrays[1]=new int[2];
        arrays[1][0]=110;
        arrays[1][1]=210;

        arrays[2]=new int[4];
        arrays[2][0]=103;
        arrays[2][1]=202;
        arrays[2][2]=303;
        arrays[2][3]=304;
        for(int i=0;i<arrays.length;i++){
            System.out.println(Arrays.toString(arrays[i]));
        }


        //方式三：定义二维数组的同时为元素赋值
        // 此时数组的长度为{}中的元素的数量
        // 数据类型[][] 变量名=new 数据类型[][]{
        //         {元素1,元素2....},
        //         {元素1,元素2....},
        //         {元素1,元素2....}
        //
        // };
        // 简写方式:
        // 数据类型[][] 变量名={
        //                 {元素1,元素2....},
        //                 {元素1,元素2....},
        //                 {元素1,元素2....}
        //
        //         };

        // int[][] arr=new int[][]{
        //         {1,2,3},
        //         {100,200},
        //         {89}
        // };

        int[][] arr={
                {1,2,3,90},
                {100,200},
                {89,78,56}
        };
        for(int i=0;i<arr.length;i++){
            System.out.println(Arrays.toString(arr[i]));
        }


    }
}
